fix(neon): Do not panic when dropping a Root if the VM has shutdown #677
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, if a
Root
is inside anEventQueue
task and the VM is stopped, the user will never have an opportunity to clean up theRoot
. In this case, it's not a leak because the value will be deleted as the VM exits.This PR introduces a new
IS_RUNNING
thread local value. It is initialized astrue
during module initialization and set tofalse
the first time anEventQueue
callback receives aNone
forEnv
.If the value is
false
, theDrop
impl onRoot
will not panic.